Passing secure information or data between two end points often involves at least one cryptographic key. In cryptography, the key is a piece of information, or a parameter, that determines the functional output of a cryptographic algorithm, or cipher. For example, the key is used to encode data and secure the information. A key can also be used to decode the secure information so it can be presented in a usable format, or back to the original state of the information. In other words, a key during encryption specifies the particular transformation of plaintext into a cipher-text and vice versa during decryption. The security of an encryption system often relies on some key being kept a secret. Appropriate and successful key management is a concern in the secure use of cryptographic systems because poor key management can easily compromise security even with strong encryption algorithms.
In many examples, successful key management involves the use of a key wrapping key. Key wrapping keys can also be referred to as system keys, key encryption keys, or the like. Key wrapping keys are used to encrypt other keys using key algorithms. These other keys can be used to provide specific functions during cryptographic traffic. The other keys can be referred to as user keys, and can include various types of keys such as data encryption keys, authentication keys, access keys, or the like. For example, key wrapping keys encrypt user keys that are used during encryption of plaintext into a cipher-text, and key wrapping keys are used to encrypt user keys that are used during decryption.
Many network devices that require passwords for access and operation are manufactured to include key wrapping keys to later generate a set of user keys. In one common and very straightforward manufacturing process, a manufacturing device will generate a key wrapping key and then install that key into every computing platform (such as a network device) that is being manufactured. The resulting computing platforms are vulnerable in that if one device is compromised, an attacker can use the discovered key wrapping key on the other devices of that type. A more secure method is to direct the manufacturing device to generate and assign a different key wrapping key for each computing platform manufactured. One advantage to this method is if one device is compromised, the discovered key wrapping key would be unlikely to apply to any other device. An ambitious attacker, however, could attack the manufacturing device to determine the key wrapping keys for the manufactured computing platforms.